#pragma once
#include <string>
#include <vector>
#include "opencv2/myopencv.hpp"

#ifdef BCMIFACADE_EXPORTS
#define BCMIFACADE_API __declspec(dllexport)
#else
#define BCMIFACADE_API __declspec(dllimport)
#endif

class FaceGenderPredictor;

class BCMIFACADE_API BCMIGender {
public:
	std::vector<float> feature;
private:
	FaceGenderPredictor* genderPredictor;
public:
	~BCMIGender(void);
	BCMIGender(void);
	std::vector<float>& extractLGBPFeature(const IplImage* img, int iBlockX, int iBlockY,
			int faceOrient = -1, int featureSelection = 0);

	void loadPredictor(std::string alphaFN, std::string modelFN, std::string rangeFN);

	int predict(const IplImage* img);

};

